package com.mqtt.ctwingmqtt.domain.entity;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;

import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.Table;
import java.time.LocalDateTime;

@Data
@AllArgsConstructor
@NoArgsConstructor
@TableName("user")
public class User {
    // 主键
    @Id
    @GeneratedValue(strategy = GenerationType.IDENTITY)
    @TableId(type = IdType.AUTO)
    private Long id;

    // 用户名（唯一）
    private String username;

    // 加密后的密码
    private String password;

    // 邮箱（可选唯一）
    private String email;

    // 手机号（可选唯一）
    private String mobile;

    // 昵称
    private String nickname;

    // 头像路径
    private String avatar;

    // 创建时间
    private LocalDateTime createTime;

    // 最后登录时间
    private LocalDateTime lastLoginTime;

    // 用户状态（如 ENABLED/DISABLED）
    private String status;

    // 是否锁定
    private boolean locked;

    // 失败登录次数
    private int failedAttempts;

}